home *** CD-ROM | disk | FTP | other *** search
- package javax.help;
-
- import java.net.URL;
- import java.util.Enumeration;
- import java.util.Vector;
- import javax.accessibility.Accessible;
- import javax.accessibility.AccessibleContext;
- import javax.help.Map.ID;
- import javax.help.event.HelpSetEvent;
- import javax.help.event.HelpSetListener;
- import javax.help.plaf.HelpUI;
- import javax.swing.JComponent;
- import javax.swing.UIManager;
-
- public class JHelp extends JComponent implements HelpSetListener, Accessible {
- protected TextHelpModel helpModel;
- protected Vector navigators;
- protected boolean navDisplayed;
- protected JHelpContentViewer contentViewer;
- private boolean debug;
-
- public JHelp(HelpSet var1) {
- this((TextHelpModel)(new DefaultHelpModel(var1)));
- }
-
- public JHelp() {
- this((TextHelpModel)null);
- }
-
- public JHelp(TextHelpModel var1) {
- this.debug = false;
- this.navigators = new Vector();
- this.navDisplayed = true;
- this.contentViewer = new JHelpContentViewer(var1);
- this.setModel(var1);
- if (var1 != null) {
- this.setupNavigators();
- }
-
- this.updateUI();
- }
-
- protected void setupNavigators() {
- HelpSet var1 = this.helpModel.getHelpSet();
- if (var1 != null) {
- NavigatorView[] var2 = var1.getNavigatorViews();
- this.debug("views: " + var2);
-
- for(int var3 = 0; var3 < var2.length; ++var3) {
- this.debug(" processing info: " + var2[var3]);
- JHelpNavigator var4 = (JHelpNavigator)var2[var3].createNavigator(this.helpModel);
- if (var4 == null) {
- this.debug("no JHelpNavigator for given info");
- } else {
- this.debug(" adding the navigator");
- this.navigators.addElement(var4);
- }
- }
-
- Enumeration var6 = var1.getHelpSets();
-
- while(var6.hasMoreElements()) {
- HelpSet var5 = (HelpSet)var6.nextElement();
- this.addHelpSet(var5);
- }
-
- }
- }
-
- public void setModel(TextHelpModel var1) {
- TextHelpModel var2 = this.helpModel;
- if (var1 != var2) {
- if (var2 != null) {
- var2.getHelpSet().removeHelpSetListener(this);
- }
-
- this.helpModel = var1;
- if (var1 != null) {
- HelpSet var3 = var1.getHelpSet();
- if (var3 != null) {
- var3.addHelpSetListener(this);
- }
- }
-
- this.firePropertyChange("helpModel", var2, this.helpModel);
- this.contentViewer.setModel(var1);
- HelpUI var6 = this.getUI();
- if (var6 == null) {
- return;
- }
-
- Enumeration var4 = this.getHelpNavigators();
-
- while(var4.hasMoreElements()) {
- JHelpNavigator var5 = (JHelpNavigator)var4.nextElement();
- var6.removeNavigator(var5);
- }
-
- this.navigators.removeAllElements();
- this.setupNavigators();
- this.updateUI();
- }
-
- }
-
- public TextHelpModel getModel() {
- return this.helpModel;
- }
-
- public void setHelpSetSpec(String var1) {
- ClassLoader var4 = this.getClass().getClassLoader();
-
- HelpSet var3;
- try {
- URL var2 = new URL(var1);
- var3 = new HelpSet(var4, var2);
- } catch (Exception var6) {
- System.err.println("Trouble setting HelpSetSpec to spec |" + var1 + "|");
- System.err.println(" ex: " + var6);
- var3 = null;
- }
-
- this.contentViewer.setModel(new DefaultHelpModel(var3));
- this.setModel(this.contentViewer.getModel());
- this.updateUI();
- }
-
- public URL getHelpSetURL() {
- HelpSet var1 = this.contentViewer.getModel().getHelpSet();
- return var1 == null ? null : var1.getHelpSetURL();
- }
-
- public void setUI(HelpUI var1) {
- if ((HelpUI)this.ui != var1) {
- super.setUI(var1);
- }
-
- }
-
- public HelpUI getUI() {
- return (HelpUI)this.ui;
- }
-
- public void updateUI() {
- SwingHelpUtilities.installUIDefaults();
- this.setUI((HelpUI)UIManager.getUI(this));
- this.invalidate();
- }
-
- public String getUIClassID() {
- return "HelpUI";
- }
-
- private JHelpNavigator findNavigator(String var1) {
- this.debug("findNavigator(" + var1 + ")");
- Enumeration var2 = this.getHelpNavigators();
-
- while(var2.hasMoreElements()) {
- JHelpNavigator var3 = (JHelpNavigator)var2.nextElement();
- this.debug(" nav: " + var3);
- this.debug(" nav.getName: " + var3.getNavigatorName());
- if (var3.getNavigatorName().equals(var1)) {
- return var3;
- }
- }
-
- return null;
- }
-
- public void helpSetAdded(HelpSetEvent var1) {
- this.debug("helpSetAdded(" + var1 + ")");
- HelpSet var2 = var1.getHelpSet();
- this.addHelpSet(var2);
- }
-
- private void addHelpSet(HelpSet var1) {
- this.debug("helpset :" + var1);
- NavigatorView[] var2 = var1.getNavigatorViews();
- int var3 = 0;
- Enumeration var4 = this.getHelpNavigators();
-
- while(var4.hasMoreElements()) {
- ++var3;
- var4.nextElement();
- }
-
- if (var3 == 0) {
- this.debug("master helpset without navigators");
- DefaultHelpModel var8 = new DefaultHelpModel(var1);
- this.setModel((TextHelpModel)var8);
- this.setupNavigators();
- } else {
- for(int var5 = 0; var5 < var2.length; ++var5) {
- String var6 = var2[var5].getName();
- this.debug("addHelpSet: looking for navigator for " + var6);
- JHelpNavigator var7 = this.findNavigator(var6);
- if (var7 != null) {
- this.debug(" found");
- if (var7.canMerge(var2[var5])) {
- this.debug(" canMerge: true; merging...");
- var7.merge(var2[var5]);
- } else {
- this.debug(" canMerge: false");
- }
- } else {
- this.debug(" not found");
- }
- }
-
- }
- }
-
- public void helpSetRemoved(HelpSetEvent var1) {
- this.debug("helpSetRemoved(" + var1 + ")");
- HelpSet var2 = var1.getHelpSet();
- this.removeHelpSet(var2);
- }
-
- private void removeHelpSet(HelpSet var1) {
- NavigatorView[] var2 = var1.getNavigatorViews();
-
- for(int var3 = 0; var3 < var2.length; ++var3) {
- String var4 = var2[var3].getName();
- this.debug("removeHelpSet: looking for navigator for " + var4);
- JHelpNavigator var5 = this.findNavigator(var4);
- if (var5 != null) {
- this.debug(" found");
- if (var5.canMerge(var2[var3])) {
- this.debug(" canMerge: true; removing...");
- var5.remove(var2[var3]);
- } else {
- this.debug(" canMerge: false");
- }
- } else {
- this.debug(" not found");
- }
- }
-
- }
-
- public void setCurrentID(Map.ID var1) throws InvalidHelpSetContextException {
- if (this.helpModel != null) {
- this.helpModel.setCurrentID(var1);
- }
-
- }
-
- public void setCurrentID(String var1) throws BadIDException {
- try {
- this.helpModel.setCurrentID(ID.create(var1, this.getModel().getHelpSet()));
- } catch (InvalidHelpSetContextException var3) {
- }
-
- }
-
- public void setCurrentURL(URL var1) {
- this.helpModel.setCurrentURL(var1);
- }
-
- public void addHelpNavigator(JHelpNavigator var1) {
- this.debug("addHelpNavigator(" + var1 + ")");
- this.navigators.addElement(var1);
- HelpUI var2 = this.getUI();
- var2.addNavigator(var1);
- var1.setModel(this.getModel());
- }
-
- public void removeHelpNavigator(JHelpNavigator var1) {
- this.debug("removeHelpNavigator(" + var1 + ")");
- if (var1 == null) {
- throw new NullPointerException("navigator");
- } else {
- this.navigators.removeElement(var1);
- HelpUI var2 = this.getUI();
- var2.removeNavigator(var1);
- }
- }
-
- public Enumeration getHelpNavigators() {
- return this.navigators.elements();
- }
-
- public void setCurrentNavigator(JHelpNavigator var1) {
- HelpUI var2 = this.getUI();
- var2.setCurrentNavigator(var1);
- }
-
- public JHelpNavigator getCurrentNavigator() {
- HelpUI var1 = this.getUI();
- return var1.getCurrentNavigator();
- }
-
- public void setNavigatorDisplayed(boolean var1) {
- if (this.navDisplayed != var1) {
- this.navDisplayed = var1;
- this.firePropertyChange("navigatorDisplayed", !var1, var1);
- }
-
- }
-
- public boolean isNavigatorDisplayed() {
- return this.navDisplayed;
- }
-
- public JHelpContentViewer getContentViewer() {
- return this.contentViewer;
- }
-
- private void debug(String var1) {
- if (this.debug) {
- System.err.println("JHelp: " + var1);
- }
-
- }
-
- public AccessibleContext getAccessibleContext() {
- if (this.accessibleContext == null) {
- this.accessibleContext = new AccessibleJHelp(this);
- }
-
- return this.accessibleContext;
- }
-
- static {
- SwingHelpUtilities.installLookAndFeelDefaults();
- }
- }
-